const express = require('express');
const userController = require('./user.controller');

class ControllerManager {
    constructor() {
        this.router = express.Router();
        this.controllers = new Map();
        this.initializeControllers();
    }

    // 初始化所有控制器
    initializeControllers() {
        // 注册用户控制器
        this.registerController('/users', userController);
        
        // 可以在这里添加更多控制器
        // this.registerController('/auth', authController);
        // this.registerController('/admin', adminController);
    }

    // 注册控制器
    registerController(path, controller) {
        this.controllers.set(path, controller);
        this.router.use(path, controller);
        console.log(`✅ 控制器已注册: ${path}`);
    }

    // 获取所有注册的控制器
    getControllers() {
        return Array.from(this.controllers.keys());
    }

    // 获取路由实例
    getRouter() {
        return this.router;
    }

    // 打印所有注册的控制器
    printControllers() {
        console.log('📋 已注册的控制器:');
        this.controllers.forEach((controller, path) => {
            console.log(`  - ${path}`);
        });
    }
}

module.exports = new ControllerManager(); 